Apple is now focusing exclusively on two complementary technologies for simplifying the creation of shared code, shared objects, and dynamic linked libraries (DLLs) on the Macintosh — the Code Fragment Manager (CFM) and Apple’s implementation of IBM’s SOMobjects™ (also commonly referred to as SOM™ or System Object Model™). The runtime software for CFM and SOMobjects is available for 680x0- and PowerPC-based Macintosh systems.
The Apple Shared Library Manager (ASLM), Apple’s older DLL technology, is no longer recommended for new development projects since it will not be supported in Apple’s next major release of the Mac OS (code-named Copland) scheduled for 1996. If you have already developed applications using ASLM we strongly encourage you to migrate to CFM and SOMobjects at your first opportunity so that you will be ready to support Copland when it arrives.
The decision to move away from ASLM has been made based on a careful analysis in the months following the Worldwide Developer’s Conference in May (where we first disclosed the overall architecture of Copland). It reflects our wish to unify our shared library strategy, allowing us to focus on a single solution which we believe is most appealing to most developers—CFM and SOMobjects. SOMobjects, in particular, is an industry-standard compiler- and language-neutral solution that allows object-oriented libraries to be called from code written in any development environment. Furthermore, the use of CFM/SOMobjects also ensures greater synergy and consistency with OpenDoc, an influential client of this shared library solution.
By focusing squarely on CFM/SOMobjects as the exclusive Copland shared library solution, we will be able to provide you with even better implementations more rapidly. The same can be said for the related development tools from Apple and its tool partners.
Please note that Apple will continue to provide the current ASLM software to support those developers who need it for upcoming releases of applications that have already been designed to use it. Within the next year, however, ASLM will be archived, so please begin planning your transition to CFM/SOMobjects now.
Here is a brief summary of the capabilities of CFM and SOMobjects:
Code Fragment Manager (CFM)
---------------------------
CFM is a foundation layer for dynamic linking on the Macintosh and is a core part of Power Macintosh System Software; a version called CFM-68K is now also available for use on 68K platforms. CFM provides code sharing and dynamic linking, with features supporting per-context globals, and is supported by a suite of development tools and libraries from Apple and third-party tool vendors that are “CFM-aware”.
Note that the CFM-68K runtime is not emulated on a Power Macintosh. As a result, applications that use this runtime should be shipped as fat binaries.
SOMobjects
----------
Apple has licensed and has ported IBM’s SOMobjects technology to the Macintosh. SOMobjects is a multi-platform standard providing for system-level sharable objects in a language-neutral way. It also solves the “fragile base class” problem of object-oriented shared libraries, avoiding the need for client libraries to be recompiled when the base class they inherit from is in a different library and is changed.
To offer these benefits (multi-platform support and fragile base-class resolution) SOMobjects requires the use of an Interface Description Language (IDL) compiler as a first step in the development process. An MPW-hosted version of this compiler is now available.
SOMobjects runs on top of CFM, and thus is available for both 68K and native PowerPC Macintosh development. It is a foundation technology for OpenDoc.
Note: SOMobjects, System Object Model, and SOM are trademarks of IBM Corporation.